home *** CD-ROM | disk | FTP | other *** search
/ PC Media 7 / PC MEDIA CD07.iso / share / prog / cm / makefile.ux < prev    next >
Encoding:
Makefile  |  1994-08-31  |  2.6 KB  |  104 lines

  1. # makefile                                                              #
  2. # --------------------------------------------------------------------- #
  3. # Compendium - C++ Container Class Library                              #
  4. # Copyright (C) 1992-1994, Glenn M. Poorman, All rights reserved        #
  5. # --------------------------------------------------------------------- #
  6. # Makefile for building Compendium on supported Unix platforms.         #
  7. #                                                                       #
  8. # Usage: make - Build archive library "libcm.a"                         #
  9. # --------------------------------------------------------------------- #
  10.  
  11. # Set operating system name in OS variable.
  12. OS = $(shell echo `/bin/uname -s`)
  13.  
  14. # Set non platform specific variables.
  15. VPATH   = ../../source
  16. INCLUDE = ../../..
  17. LIB     = libcm.a
  18. OBJS    = \
  19. cmarray.o \
  20. cmassoc.o \
  21. cmbag.o \
  22. cmbdict.o \
  23. cmbintr.o \
  24. cmbtree.o \
  25. cmcont.o \
  26. cmdate.o \
  27. cmdeque.o \
  28. cmhash.o \
  29. cmhdict.o \
  30. cmiter.o \
  31. cmlist.o \
  32. cmobject.o \
  33. cmobjref.o \
  34. cmordarr.o \
  35. cmqueue.o \
  36. cmreserv.o \
  37. cmresfil.o \
  38. cmring.o \
  39. cmset.o \
  40. cmstack.o \
  41. cmstring.o \
  42. cmtime.o \
  43. cmtokens.o
  44.  
  45. # Set operating system dependant variables.
  46.  
  47. # Hewlett Packard HP-UX
  48. ifeq ($(OS),HP-UX)
  49.   CC        = CC
  50.   CCFLAGS   = -c -I$(INCLUDE)
  51.   TFLAGS    = -pta
  52.   TOBJS     = ptrepository/*.o
  53.   MAKEMAIN  = echo "void main() {}" > cmmain.cxx
  54.   BUILDMAIN = $(CC) -o cmmain $(TFLAGS) -I$(INCLUDE) cmmain.cxx *.o
  55. endif
  56.  
  57. # Sun Solaris
  58. ifeq ($(OS),SunOS)
  59.   CC        = CC
  60.   CCFLAGS   = -c -I$(INCLUDE)
  61.   TFLAGS    = -pta
  62.   TOBJS     = ptrepository/*.o
  63.   MAKEMAIN  = echo "void main() {}" > cmmain.cxx
  64.   BUILDMAIN = $(CC) -o cmmain $(TFLAGS) -I$(INCLUDE) cmmain.cxx *.o
  65. endif
  66.  
  67. # Silicon Graphics IRIX
  68. ifeq ($(OS),IRIX)
  69.   CC        = CC
  70.   CCFLAGS   = -c -I$(INCLUDE)
  71.   TFLAGS    = -pta -pte.cc
  72.   TOBJS     = ptrepository/*.o
  73.   MAKEMAIN  = echo "void main() {}" > cmmain.cxx
  74.   BUILDMAIN = $(CC) -o cmmain $(TFLAGS) -I$(INCLUDE) cmmain.cxx *.o
  75. endif
  76.  
  77. # IBM AIX
  78. ifeq ($(OS),AIX)
  79.   CC        = xlC
  80.   CCFLAGS   = -+ -c -I$(INCLUDE)
  81.   TFLAGS    =
  82.   TOBJS     =
  83.   MAKEMAIN  =
  84.   BUILDMAIN =
  85. endif
  86.  
  87. # Build archive library.
  88. $(LIB): $(OBJS)
  89.         rm -f $(LIB)
  90.         $(MAKEMAIN)
  91.         $(BUILDMAIN)
  92.         ar qv $(LIB) $(OBJS) $(TOBJS)
  93.         chmod 600 *.o $(LIB)
  94.         rm -f cmmain cmmain.cxx
  95.  
  96. # Build individual object file. 
  97. %.o:    $(VPATH)/%.cxx
  98.         $(CC) $(CCFLAGS) -o $@ $(VPATH)/$*.cxx
  99.  
  100. # Clean up object and library files.
  101. clean:
  102.         rm -rf *.o $(LIB) ptrepository
  103.  
  104.